home *** CD-ROM | disk | FTP | other *** search
- Path: news.wwa.com!rmartin
- From: rmartin@oma.com (Robert C. Martin)
- Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: 15 Mar 1996 16:53:50 GMT
- Organization: Object Mentor
- Message-ID: <RMARTIN.96Mar15105350@rcm.oma.com>
- References: <1995Jul3.034108.4193@rcmcon.com> <3taaha$p8j@ixnews3.ix.netcom.com>
- <3taodp$859@saba.info.ucla.edu> <3tap9h$qp3@saba.info.ucla.edu>
- <314628F2.31C8@aud.alcatel.com> <RMARTIN.96Mar13110714@rcm.oma.com>
- <4i862r$1evq@saba.info.ucla.edu>
- NNTP-Posting-Host: rcm.oma.com
- In-reply-to: jmartin@cs.ucla.edu's message of 14 Mar 1996 04:07:55 GMT
-
- In article <4i862r$1evq@saba.info.ucla.edu> jmartin@cs.ucla.edu (Jay Martin) writes:
-
- You have no studies to backup that Eiffel and C programmers are
- magically identical so this is just a red herring.
-
- And you have no studies either, so your statements are just as red
- and hairy as mine. ;)
-
- Competent software engineers
- are not hackers. Hackers do not like the restrictiveness of an
- Eiffel or an Ada or any other software engineering language, thus
- these languages are not likely to attract hackers. C is
- unrestrictive and attracts hackers in droves.
-
- I have been working with C programmers for the last 16 years. I have
- not encountered this phenomemon.
-
- I have never worked
- with an Eiffel programmer, but given an Eiffel programmer spouting
- high level design and implementation concepts and a C programmer who
- says "I use pointer arithmetic cuz it may be faster, I don't trust no
- compilers" and "I write terse code all on my line cuz its cool like
- mathematics and gee, I is a mathematical genius or something",
- the Eiffel programmer is basically going to get the job.
-
- The above clearly demonstrates that you have an "attitude" towards C
- programmers. That attitude is unwarranted. There may indeed be C programmers
- who act as you have described. Let me assure you, however, that there
- are also large numbers of C/C++ programmers who do not share that
- attitude.
-
- In my book, to be a competent software engineer you must must also be
- an very knowledgable at computer language design and also compiler
- optimization. Its common knowledge that C is poorly designed and
- thus rabid worshipers of C are not too swift.
-
- This "common knowledge". Can you cite any truly athoritative
- references? In any case, both rabbid worship and rabid hatred of
- *anything* ought to be avoided.
-
- If C is so wonderful for making high level code, then what the bleep
- was C++ invented for?
-
- To quote Stroustrup: "...to make programming more enjoyable for the
- serious programmer." For me, it succeeds in this role.
-
- Most code written in C is low level crap.
-
- Really? Most? How much of the total have you reviewed, and what is
- your criteria for deciding that it is low level crap.
-
- To demonstrate the "C hacker culture" (filed under macho attitudes)
- here's a random recent example:
-
- rmartin@oma.com (Robert C. Martin) writes:
-
- >No, I disagree with your point. It is not the responsibility of the
- >language to make the engineer better. It is the responsibility of the
- >engineer to become adept at the language.
-
- Clear demonstration of views that have left software engineering
- and entered the "C Hacker Zone".
-
- Consider a hammer. A hammer, like a language, is a tool. Now, is a
- hammer a high level tool? Or is it a low level tool? How can you
- decide? Certainly the role of the hammer is very low level. i.e. one
- uses it to pound nails into wood. Does this make the hammer a low
- level tool? If so, then what would the high level counterpart be?
-
- What about those neat air powered hammers. They are much faster than
- regular hammers. They also pound the nail in perfectly straight, and
- do not leave nasty dents on the wood. Perhaps you could consider the
- air powered hammer to be a high level tool since it rids the carpenter
- from being concerned with the lower level issues, and save him lots of
- time.
-
- However, air powered hammers aren't really appropriate for all
- purposes. Indeed, there are places where hey are more detrimental
- than beneficial. One has to have a compressor running. One has to
- drag air hoses around all the time. Compressors can run out of fuel,
- air hoses can be too short, become tangled, or can be obstacles for
- other workers. In short, there are problem associated with using the
- air hammer.
-
- A good engineer will know when and when not to use a power tool. He
- will know the advantages and disavantages. He will make decisions
- regarding the usage of tools based upon the context and requirements
- of the job.
-
- Thus, it is the engineers choice and usage of tools that makes him a
- "better" engineer. The tools play no active part in this. It is not
- the reponsibility of the tools to make the engineer better. It is the
- responsibility of the engineer to learn how and when to use the
- appropriate tools.
-
-
-
-
- --
- Robert Martin | Design Consulting | Training courses offered:
- Object Mentor Assoc.| rmartin@oma.com | OOA/D, C++, Advanced OO
- 14619 N. Somerset Cr| Tel: (847) 918-1004 | Mgt. Overview of OOT
- Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com
-
-